import {NgModule} from '@angular/core';

import {PagesComponent} from './pages.component';
import {PagesRoutingModule} from './pages-routing.module';
import {ThemeModule} from '../@theme/theme.module';
import {LocationAddPrompt, LocationDocumentComponent} from './location-document/location-document.component';
import {BuildingAddPrompt, BuildingDocumentComponent} from './building-document/building-document.component';
import {Ng2SmartTableModule} from 'ng2-smart-table';
import {NbDialogModule, NbWindowModule} from "@nebular/theme";
import {CustomUnitLinkRender, UnitDocumentComponent} from "./unit-document/unit-document.component";
import {UserDocumentComponent} from "./user-document/user-document.component";
import {DeviceDocumentComponent, DeviceLinkRender} from "./device-document/device-document.component";
import {UnitBillComponent} from "./bill/unit-bill.component";
import {EleHistoryComponent} from "./ele-history/ele-history.component";
import {OtherHistoryComponent} from "./other-history/other-history.component";
import {UURBindDialog, UURBindDialogRender} from "./user-document/UURBindDialogRender";
import {DeviceCtrlComponent} from "./device-control/device-ctrl.component";
import {BillResultComponent} from "./bill-result/bill-result.component";
import {ManageSystemComponent} from "./manage-system/manage-system.component";
import {ManageAdminComponent} from "./manage-admin/manage-admin.component";
import {UserProfileComponent} from "./user-system/user-profile.component";
import {UserDevComponent} from "./user-system/user-dev.component";
import {IndexModule} from "./index/index.module";
import {UserBillComponent} from "./user-system/user-bill.component";
import {CostListComponent} from "./cost-list/cost-list.component";
import {DeviceDetailComponent} from "./device-document/device-detail.component";
import {DeviceSumComponent} from "./device-document/device-sum.component";
import {NgxEchartsModule} from "ngx-echarts";
import {UserChargeComponent} from "./user-system/user-charge.component";
import {UnitDetailComponent} from "./unit-document/unit-detail.component";
import {DeviceLogComponent} from "./device-document/device-log.component";
import {UnitRateComponent} from "./unit-document/unit-rate.component";
import {RateBindActionRender, RateBindComponent} from "./cost-list/rate-bind.component";
import {DeviceDailyComponent} from "./device-document/device-daily.component";

const PAGES_COMPONENTS = [
  PagesComponent,
  LocationDocumentComponent,
  LocationAddPrompt,
  BuildingDocumentComponent,
  BuildingAddPrompt,
  UnitDocumentComponent,
  UserDocumentComponent,
  DeviceDocumentComponent,
  UnitBillComponent,
  EleHistoryComponent,
  OtherHistoryComponent,
  UURBindDialogRender,
  UURBindDialog,
  DeviceCtrlComponent,
  BillResultComponent,
  ManageSystemComponent,
  ManageAdminComponent,
  UserProfileComponent,
  UserDevComponent,
  UserBillComponent,
  CostListComponent,
  DeviceLinkRender,
  DeviceDetailComponent,
  DeviceSumComponent,
  UserChargeComponent,
  UnitDetailComponent,
  CustomUnitLinkRender,
  DeviceLogComponent,
  UnitRateComponent,
  RateBindComponent,
  RateBindActionRender,
  DeviceDailyComponent
];

@NgModule({
  imports: [
    PagesRoutingModule,
    ThemeModule,
    Ng2SmartTableModule,
    NbDialogModule.forChild(),
    NbWindowModule.forChild(),
    IndexModule,
    NgxEchartsModule,
  ],
  declarations: [
    ...PAGES_COMPONENTS,
  ],
  entryComponents:[
    LocationAddPrompt,
    BuildingAddPrompt,
    UURBindDialogRender,
    UURBindDialog,
    DeviceLinkRender,
    CustomUnitLinkRender,
    RateBindComponent,
    RateBindActionRender
  ],
})
export class PagesModule {
}
